<!DOCTYPE html>
<html lang="en-us">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    
    <meta property="og:site_name" content="TinyKE小客同学">
    <meta property="og:type" content="article">

    
    <meta property="og:image" content="https://coldke.gitee.io/blog/img/home-bg-motor.jpg">
    <meta property="twitter:image" content="https://coldke.gitee.io/blog/img/home-bg-motor.jpg" />
    

    
    <meta name="title" content="intel IGD passthrough" />
    <meta property="og:title" content="intel IGD passthrough" />
    <meta property="twitter:title" content="intel IGD passthrough" />
    

    
    <meta name="description" content="介绍如何在PVE中使用intel 集显的直通功能">
    <meta property="og:description" content="介绍如何在PVE中使用intel 集显的直通功能" />
    <meta property="twitter:description" content="介绍如何在PVE中使用intel 集显的直通功能" />
    

    
    <meta property="twitter:card" content="summary" />
    
    

    <meta name="keyword"  content="小客, 小客的网络日志, 小客的博客, TinyKE Blog, 博客, 个人网站, 互联网, Web, 云原生, PaaS, Istio, Kubernetes, 微服务, Microservice">
    <link rel="shortcut icon" href="/blog/img/favicon.ico">

    <title>intel IGD passthrough | 小客的博客 | TinyKE Blog</title>

    <link rel="canonical" href="/blog/2022-05/intel-IGD-passthrough-in-PVE/">

    
    
    
    <link rel="stylesheet" href="/blog/css/bootstrap.min.css">

    
    <link rel="stylesheet" href="/blog/css/hugo-theme-cleanwhite.min.css">

    
    <link rel="stylesheet" href="/blog/css/zanshang.css">

    
    <link href="https://cdn.jsdelivr.net/gh/FortAwesome/Font-Awesome@5.15.1/css/all.css" rel="stylesheet" type="text/css">

    
    

    
    <script src="/blog/js/jquery.min.js"></script>

    
    <script src="/blog/js/bootstrap.min.js"></script>

    
    <script src="/blog/js/hux-blog.min.js"></script>

    
    

</head>




<nav class="navbar navbar-default navbar-custom navbar-fixed-top">

    <div class="container-fluid">
        
        <div class="navbar-header page-scroll">
            <button type="button" class="navbar-toggle">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="/blog/">TinyKE小客同学</a>
        </div>

        
        
        <div id="huxblog_navbar">
            <div class="navbar-collapse">
                <ul class="nav navbar-nav navbar-right">
                    <li>
                        <a href="/blog/">All Posts</a>
                    </li>
                    
                        
                        <li>
                            <a href="/blog/categories/tech">tech</a>
                        </li>
                        
                    
                    
		    
                        <li><a href="/blog/top/books/">BOOKS</a></li>
                    
                        <li><a href="/blog/top/archive/">ARCHIVE</a></li>
                    
                        <li><a href="/blog/top/about/">ABOUT</a></li>
                    

                    
		    <li>
                        <a href="/blog/search"><i class="fa fa-search"></i></a>
		    </li>
                    
                </ul>
            </div>
        </div>
        
    </div>
    
</nav>
<script>
    
    
    
    var $body   = document.body;
    var $toggle = document.querySelector('.navbar-toggle');
    var $navbar = document.querySelector('#huxblog_navbar');
    var $collapse = document.querySelector('.navbar-collapse');

    $toggle.addEventListener('click', handleMagic)
    function handleMagic(e){
        if ($navbar.className.indexOf('in') > 0) {
        
            $navbar.className = " ";
            
            setTimeout(function(){
                
                if($navbar.className.indexOf('in') < 0) {
                    $collapse.style.height = "0px"
                }
            },400)
        }else{
        
            $collapse.style.height = "auto"
            $navbar.className += " in";
        }
    }
</script>




<style type="text/css">
    header.intro-header {
        background-image: url('/blog/img/home-bg-motor.jpg')
    }
</style>

<header class="intro-header" >

    <div class="container">
        <div class="row">
            <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
                <div class="post-heading">
                    <div class="tags">
                        
                        <a class="tag" href="/blog/tags/intel" title="intel">
                            intel
                        </a>
                        
                        <a class="tag" href="/blog/tags/pve" title="PVE">
                            PVE
                        </a>
                        
                    </div>
                    <h1>intel IGD passthrough</h1>
                    <h2 class="subheading"></h2>
                    <span class="meta">
                        
                            Posted by 
                            
                                    &#34;TinyKE&#34;
                             
                            on 
                            Wednesday, May 4, 2022
                            
                            
                            
                            
                    </span>
                </div>
            </div>
        </div>
    </div>
</header>




<article>
    <div class="container">
        <div class="row">

            
            <div class="
                col-lg-8 col-lg-offset-2
                col-md-10 col-md-offset-1
                post-container">

                
                <h2 id="qemu下的intel核显直通integrated-graphics-passthrough">QEMU下的INTEL核显直通Integrated Graphics Passthrough</h2>
<p>QEMU下IGD有有2种直通模式，对应UEFI和BIOS模式下的启动方式</p>
<p>1、UPT模式</p>
<p>​		需要使用UEFI模式启动，QEMU下使用的是OVMF（UEFI），这种模式下的直通，显卡需要一个vBios ROM文件，大部分intel IGD对应的是<a href="https://github.com/HouQiming/i915ovmfPkg">i915 UEFI ROM</a></p>
<p>2、Legacy模式</p>
<p>​		该模式下使用BIOS模式启动，QEMU下对应的是SeaBios启动方式，也是QEMU的默认方式。</p>
<h2 id="目标">目标</h2>
<p><strong>本篇目标是在PVE下直通intel的核显，该核显符给windows10虚拟机并成功运行windows10系统</strong></p>
<p><em>！！！说明：该模式下HOST主机将无法使用GPU，并且无屏幕输出</em></p>
<p>硬件配置如下：</p>
<table>
<thead>
<tr>
<th style="text-align:center">CPU</th>
<th>Intel(R) Celeron(R) G5900 CPU @ 3.40GHz</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">显卡</td>
<td>Intel HD 610</td>
</tr>
<tr>
<td style="text-align:center">主板</td>
<td>ASRock H410M-ITX/ac</td>
</tr>
</tbody>
</table>
<p>软件配置如下：</p>
<table>
<thead>
<tr>
<th style="text-align:left">PVE OS</th>
<th>5.13.19-2</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">qemu server</td>
<td>7.1-4</td>
</tr>
<tr>
<td style="text-align:left">pve-qemu-kvm</td>
<td>6.1.0-3</td>
</tr>
</tbody>
</table>
<h3 id="1host系统设置">1、HOST系统设置</h3>
<ol>
<li>
<p>修改grub文件，开启iommu</p>
<p>/etc/default/grub</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#8be9fd;font-style:italic">GRUB_CMDLINE_LINUX_DEFAULT</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;quiet intel_iommu=on video=efifb:off&#34;</span>

若使用的是UEFI启动的需要屏蔽EFI Framebuffer
<span style="color:#6272a4">#efibf:off</span>

若使用BIOS启动需要屏蔽vesafb
<span style="color:#6272a4">#vesafb:off</span>

update_grub <span style="color:#6272a4">#更新grub</span>
</code></pre></div></li>
<li>
<p>修改blacklist</p>
<p>主要作用是在HOST主机中屏幕i915驱动的使用，其中声音相关的2个驱动会额外加载i915驱动，所以需要一并屏蔽</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#6272a4">#文件地址</span>
/etc/modprobe.d/blacklist.conf
<span style="color:#6272a4">#增加以下内容：</span>
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915
</code></pre></div></li>
<li>
<p>修改vfio.conf</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">vim /etc/modprobe.d/vfio.conf
options vfio-pci <span style="color:#8be9fd;font-style:italic">ids</span><span style="color:#ff79c6">=</span>&lt;YOUR INTEL IGD ID&gt;
<span style="color:#6272a4">#IGD id可以使用命令</span>
<span style="color:#6272a4">#lspci -nnk</span>
</code></pre></div></li>
<li>
<p>防止host崩溃，修改kvm.conf</p>
<p>说明：可以一起放入vfio.com文件中</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#8be9fd;font-style:italic">echo</span> <span style="color:#f1fa8c">&#34;options kvm ignore_msrs=1&#34;</span> &gt; /etc/modprobe.d/kvm.conf
</code></pre></div></li>
<li>
<p>更新initramfs</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">   update-initramfs -u
</code></pre></div></li>
</ol>
<h3 id="2虚拟机设置">2、虚拟机设置</h3>
<ol>
<li>通过PVE Web UI创建1个虚拟机：</li>
</ol>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">处理器：HOST
BIOS：OVMF
机型：Q35
显示设备：无	<span style="color:#6272a4">#只有无显示屏才能正常显示</span>
内存：4G及以上
SCSI硬盘：40G及以上
CD/DVD1：windows.iso	<span style="color:#6272a4">#windows安装文件</span>
CD/DVD2：virtio-win.iso <span style="color:#6272a4">#windows的virtio驱动文件</span>
其他设备自选

virtio驱动文件下载地址：
https://github.com/virtio-win/kvm-guest-drivers-windows
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
</code></pre></div><ol start="2">
<li>
<p>使用conf设置显卡绑定参数</p>
<p>tips:不要使用qm命令绑定显卡，qm set有些参数无法使用，请使用虚拟机的conf文件修改</p>
</li>
</ol>
<blockquote>
<p>conf文件位置：</p>
<p>/etc/pve/nodes/&lt;你的虚拟机&gt;/qemu-server/&lt;虚拟机ID&gt;.conf</p>
</blockquote>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">args: -device vfio-pci,host<span style="color:#ff79c6">=</span>00:02.0,x-vga<span style="color:#ff79c6">=</span>on,x-igd-opregion<span style="color:#ff79c6">=</span>on,romfile<span style="color:#ff79c6">=</span>i915ovmf.rom
参数说明：
<span style="color:#6272a4">#	x-vga	:	GPU作为主显示器</span>
<span style="color:#6272a4">#	x-igd-opregion	:	开启物理屏幕输出</span>
<span style="color:#6272a4">#	romfile	:	vBios ROM文件（必需）</span>
<span style="color:#6272a4">#其中i915ovmf.rom文件需要下载至/usr/share/kvm文件夹下</span>
<span style="color:#6272a4">#下载地址</span>
https://github.com/HouQiming/i915ovmfPkg
</code></pre></div><h3 id="3windows10安装">3、Windows10安装</h3>
<ol>
<li>
<p>启动虚拟机进入安装界面</p>
<p>在进入选择硬盘时，因没有virtio驱动，所以需要安装</p>
</li>
<li>
<p>使用CD/DVD安装virtio驱动</p>
</li>
<li>
<p>分区，选择主分区安装系统</p>
</li>
</ol>
<h3 id="4相关问题">4、相关问题</h3>
<ol>
<li>
<p>声音问题</p>
<p>相关主板网卡可能跟声卡在一个IOMMU组里面，这样直通的话HOST的网卡就用不了，同时其他的虚拟机网卡也会挂掉，解决办法</p>
<ol>
<li>修改PVE的kernel分离IOMMU，相关方案请自行搜索</li>
<li>装1个USB的外置声卡解决</li>
</ol>
</li>
</ol>
<p>附录：</p>
<ol>
<li>
<p>grub文件</p>
<p>/etc/default/grub</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#8be9fd;font-style:italic">GRUB_DEFAULT</span><span style="color:#ff79c6">=</span><span style="color:#bd93f9">0</span>
<span style="color:#8be9fd;font-style:italic">GRUB_TIMEOUT</span><span style="color:#ff79c6">=</span><span style="color:#bd93f9">5</span>
<span style="color:#8be9fd;font-style:italic">GRUB_DISTRIBUTOR</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">`</span>lsb_release -i -s 2&gt; /dev/null <span style="color:#ff79c6">||</span> <span style="color:#8be9fd;font-style:italic">echo</span> Debian<span style="color:#f1fa8c">`</span>
<span style="color:#8be9fd;font-style:italic">GRUB_CMDLINE_LINUX_DEFAULT</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;quiet intel_iommu=on video=efifb:off pcie_acs_override=downstream&#34;</span>
<span style="color:#8be9fd;font-style:italic">GRUB_CMDLINE_LINUX</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;&#34;</span>
</code></pre></div></li>
<li>
<p>vifo.conf文件</p>
<p>/etc/modprobe.d/vifo.conf</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">options vfio-pci <span style="color:#8be9fd;font-style:italic">ids</span><span style="color:#ff79c6">=</span>8086:9ba8
options vfio_iommu_type1 <span style="color:#8be9fd;font-style:italic">allow_unsafe_interrupts</span><span style="color:#ff79c6">=</span><span style="color:#bd93f9">1</span>
</code></pre></div></li>
<li>
<p><!-- raw HTML omitted -->.conf文件</p>
<p>/etc/pve/nodes/&lt;你的虚拟机&gt;/qemu-server/&lt;虚拟机ID&gt;.conf</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">   
args: -device vfio-pci,host<span style="color:#ff79c6">=</span>00:02.0,x-vga<span style="color:#ff79c6">=</span>on,x-igd-opregion<span style="color:#ff79c6">=</span>on,romfile<span style="color:#ff79c6">=</span>i915ovmf.rom
<span style="color:#6272a4">#addr=0x18 默认是绑定在00:2上的</span>
bios: ovmf
boot: <span style="color:#8be9fd;font-style:italic">order</span><span style="color:#ff79c6">=</span>ide2;scsi0;net0
cores: <span style="color:#bd93f9">2</span>
cpu: host
efidisk0: local-lvm:vm-100-disk-1,efitype<span style="color:#ff79c6">=</span>4m,pre-enrolled-keys<span style="color:#ff79c6">=</span>1,size<span style="color:#ff79c6">=</span>4M
ide2: local:iso/BlissOS-14.3-x86_64-202106261907_k-android12-5.10.46-ax86_m-21.1.3_r-x86_emugapps_cros-hd.iso,media<span style="color:#ff79c6">=</span>cdrom,size<span style="color:#ff79c6">=</span>1467M
machine: q35
memory: <span style="color:#bd93f9">4096</span>
meta: creation-qemu<span style="color:#ff79c6">=</span>6.1.0,ctime<span style="color:#ff79c6">=</span><span style="color:#bd93f9">1647073049</span>
name: Bliss
net0: <span style="color:#8be9fd;font-style:italic">virtio</span><span style="color:#ff79c6">=</span>86:5F:52:25:6C:C5,bridge<span style="color:#ff79c6">=</span>vmbr0,firewall<span style="color:#ff79c6">=</span><span style="color:#bd93f9">1</span>
numa: <span style="color:#bd93f9">1</span>
ostype: l26
scsi0: local-lvm:vm-100-disk-0,size<span style="color:#ff79c6">=</span>128G,ssd<span style="color:#ff79c6">=</span><span style="color:#bd93f9">1</span>
scsihw: virtio-scsi-pci
smbios1: <span style="color:#8be9fd;font-style:italic">uuid</span><span style="color:#ff79c6">=</span>813ae700-33f0-4322-907f-05934984e026
sockets: <span style="color:#bd93f9">1</span>
usb0: <span style="color:#8be9fd;font-style:italic">host</span><span style="color:#ff79c6">=</span>1-2,usb3<span style="color:#ff79c6">=</span><span style="color:#bd93f9">1</span>
vmgenid: 46fc5ef6-cfc1-4885-abf6-b97bc2d79207
   
</code></pre></div></li>
</ol>
<p>参考资料</p>
<ol>
<li>
<p><a href="https://pve.proxmox.com/wiki/Pci_passthrough">Pci passthrough - Proxmox VE</a></p>
</li>
<li>
<p><a href="https://www.vediotalk.com/archives/46813">vBios提取</a></p>
</li>
<li>
<p><a href="https://github.com/awilliam/rom-parser">ROM Parser</a></p>
</li>
<li>
<p><a href="https://post.smzdm.com/p/aqxovxl2/">基于 Unraid 的 Windows 虚拟机 Intel 核显直通教程：原理及实现的探讨</a></p>
</li>
<li>
<p><a href="https://blog.timzhong.top/2020/09/27/pve-direct-pcie/">pve虚拟机显卡直通教程 - TimZhong&rsquo;s Blog</a></p>
</li>
</ol>


                

                <hr>
                <ul class="pager">
                    
                    <li class="previous">
                        <a href="/blog/2022-05/reg-in-lighttpd/" data-toggle="tooltip" data-placement="top" title="lighttpd的匹配表达式">&larr;
                            Previous Post</a>
                    </li>
                    
                    
                    <li class="next">
                        <a href="/blog/2022-05/IPSec-Certi/" data-toggle="tooltip" data-placement="top" title="IPSec证书生成">Next
                            Post &rarr;</a>
                    </li>
                    
                </ul>
                

            </div>

            
            
            <div class="
                col-lg-2 col-lg-offset-0
                visible-lg-block
                sidebar-container
                catalog-container">
                <div class="side-catalog">
                    <hr class="hidden-sm hidden-xs">
                    <h5>
                        <a class="catalog-toggle" href="#">CATALOG</a>
                    </h5>
                    <ul class="catalog-body"></ul>
                </div>
            </div>
            

            
            <div class="
                col-lg-8 col-lg-offset-2
                col-md-10 col-md-offset-1
                sidebar-container">

                
                
                <section>
                    <hr class="hidden-sm hidden-xs">
                    <h5><a href="/tags/">FEATURED TAGS</a></h5>
                    <div class="tags">
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                    </div>
                </section>
                

                
                
            </div>
        </div>
    </div>
</article>




<footer>
    <div class="container">
        <div class="row">
            <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
                <ul class="list-inline text-center">                  
                    
                    <li>
                        <a href="mailto:jnee520@gmail.com">
                            <span class="fa-stack fa-lg">
                                <i class="fas fa-circle fa-stack-2x"></i>
                                <i class="fas fa-envelope fa-stack-1x fa-inverse"></i>
                            </span>
                        </a>
                    </li>
		           
                    
                    
                    
                    

		            
                    
                    <li>
                        <a target="_blank" href="/blog/your%20wechat%20qr%20code%20image">
                            <span class="fa-stack fa-lg">
                                <i class="fas fa-circle fa-stack-2x"></i>
                                <i class="fab fa-weixin fa-stack-1x fa-inverse"></i>
                            </span>
                        </a>
                    </li>
		            
                    
                    
                    
                    
                    <li>
                        <a target="_blank" href="https://www.linkedin.com/in/yourlinkedinid">
                            <span class="fa-stack fa-lg">
                                <i class="fas fa-circle fa-stack-2x"></i>
                                <i class="fab fa-linkedin fa-stack-1x fa-inverse"></i>
                            </span>
                        </a>
                    </li>
		           
                    
                    
                    <li>
                        <a target="_blank" href="https://stackoverflow.com/users/yourstackoverflowid">
                            <span class="fa-stack fa-lg">
                                <i class="fas fa-circle fa-stack-2x"></i>
                                <i class="fab fa-stack-overflow fa-stack-1x fa-inverse"></i>
                            </span>
                        </a>
                    </li>
                    
                    
                    
                    
                    
            
            
            
           
                   <li>
                       <a href='' rel="alternate" type="application/rss+xml" title="TinyKE小客同学" >
                           <span class="fa-stack fa-lg">
                               <i class="fas fa-circle fa-stack-2x"></i>
                               <i class="fas fa-rss fa-stack-1x fa-inverse"></i>
                           </span>
                       </a>
                   </li>
            
             </ul>
		<p class="copyright text-muted">
                    Copyright &copy; TinyKE小客同学 2022
                    <br>
                    <a href="https://themes.gohugo.io/hugo-theme-cleanwhite">CleanWhite Hugo Theme</a> by <a href="https://zhaohuabing.com">Huabing</a> |
                    <iframe
                        style="margin-left: 2px; margin-bottom:-5px;"
                        frameborder="0" scrolling="0" width="100px" height="20px"
                        src="https://ghbtns.com/github-btn.html?user=zhaohuabing&repo=hugo-theme-cleanwhite&type=star&count=true" >
                    </iframe>
                </p>
            </div>
        </div>
    </div>
</footer>




<script>
    function loadAsync(u, c) {
      var d = document, t = 'script',
          o = d.createElement(t),
          s = d.getElementsByTagName(t)[0];
      o.src = u;
      if (c) { o.addEventListener('load', function (e) { c(null, e); }, false); }
      s.parentNode.insertBefore(o, s);
    }
</script>






<script>
    
    if($('#tag_cloud').length !== 0){
        loadAsync("/js/jquery.tagcloud.js",function(){
            $.fn.tagcloud.defaults = {
                
                color: {start: '#bbbbee', end: '#0085a1'},
            };
            $('#tag_cloud a').tagcloud();
        })
    }
</script>


<script>
    loadAsync("https://cdn.jsdelivr.net/npm/fastclick@1.0.6/lib/fastclick.min.js", function(){
        var $nav = document.querySelector("nav");
        if($nav) FastClick.attach($nav);
    })
</script>









<script type="text/javascript">
    function generateCatalog(selector) {

        
        
        
        
            _containerSelector = 'div.post-container'
        

        
        var P = $(_containerSelector), a, n, t, l, i, c;
        a = P.find('h1,h2,h3,h4,h5,h6');

        
        $(selector).html('')

        
        a.each(function () {
            n = $(this).prop('tagName').toLowerCase();
            i = "#" + $(this).prop('id');
            t = $(this).text();
            c = $('<a href="' + i + '" rel="nofollow">' + t + '</a>');
            l = $('<li class="' + n + '_nav"></li>').append(c);
            $(selector).append(l);
        });
        return true;
    }

    generateCatalog(".catalog-body");

    
    $(".catalog-toggle").click((function (e) {
        e.preventDefault();
        $('.side-catalog').toggleClass("fold")
    }))

    


    loadAsync("\/blog\/js\/jquery.nav.js", function () {
        $('.catalog-body').onePageNav({
            currentClass: "active",
            changeHash: !1,
            easing: "swing",
            filter: "",
            scrollSpeed: 700,
            scrollOffset: 0,
            scrollThreshold: .2,
            begin: null,
            end: null,
            scrollChange: null,
            padding: 80
        });
    });
</script>





</body>
</html>
